package com.niiwoo.civet.user.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 消息模板Key枚举类
 *
 * @author xueyuke
 * @date 2017-12-25
 */
public class MessageTemplateKeyEnum {
    /**
     * 站内信模板Key枚举
     */
    @Getter
    @AllArgsConstructor
    public enum LetterTemplateKeyEnum {
        SPEED_LOAN_CREDIT_RESULT("letter.speedloan.credit.result", "极速借授信结果"),
        SPEED_LOAN_CREDIT_INADEQUATE("letter.speedloan.credit.inadequate", "极速借授信额度不足"),
        SPEED_LOAN_CREDIT_INCREASE("letter.speedloan.credit.increase", "提高额度通知"),
        SPEED_LOAN_ENTER_INVEST("letter.speedloan.enter.invest", "借投资阶段"),
        SPEED_LOAN_MANUAL_NOTPASS("letter.speedloan.manual.notpass", "极速借手动审核不通过"),
        SPEED_LOAN_MANUAL_BACK("letter.speedloan.manual.back", "极速借手动审核退回"),
        TEMP_WITHDRAW_FAIL("letter.withdraw.fail", "提现失败"),
        TEMP_WITHDRAW_AUDIT_FAIL("letter.withdraw.audit.fail", "提现审核失败"),
        TEMP_CHANGE_BANK_CARD_AUDIT_PASSED("letter.change.bank.card.audit.passed", "换绑卡审核通过"),
        TEMP_CHANGE_BANK_CARD_AUDIT_PASSED_PAYMENT("letter.change.bank.card.audit.passed.payment", "换绑卡审核通过支付协议"),
        TEMP_CHANGE_BANK_CARD_AUDIT_NOT_PASSED("letter.change.bank.card.audit.not.passed", "换绑卡审核不通过"),
        INVEST_RECEIVE("letter.invest.receive", "投资回款通知"),
        OVER_RECEIVE_ADVANCE("letter.over.invest.receive", "投资回款通知"),
        NORMAL_RECEIVE_ADVANCE("letter.normal.receive.advance", "投资回款通知"),
        INVEST_RECEIVE_ADVANCE("letter.invest.receive.advance", "提前回款通知(提前结清)"),
        BORRO_SUCCESS("letter.borrow.success", "借款成功"),
        BORROW_SUCCESS_AUTO_WITHDRAW("letter.borrow.success.auto.withdraw", "借款成功自动提现"),
        BORROW_SUCCESS_AUTO_WITHDRAW_FAIL("letter.borrow.success.auto.withdraw.fail", "借款成功自动提现失败"),

        PROJECT_PACKAGE_OVERDEPT_RECEIVE("letter.project.package.overdept.receive","智能投服务提前回款通知"),
        PROJECT_PACKAGE_RECEIVE("letter.project.package.receive","智能投服务回款通知"),
        PROJECT_PACKAGE_FINISH_RECEIVE("letter.project.package.finish.receive","智能投服务结清通知"),

        LETTER_BORROW_SUCCESS_EVIDENCE_UPLOAD("letter.borrow.success.evidence.upload","借款成功凭证上传"),

        INVEST_LEND_SUCCESS("letter.invest-lend.success", "投资放款成功"),
        INVEST_ORG_PROJECT_LEND_SUCCESS("letter.invest-org-project-lend.success", "投资放款成功"),
        TEMP_KAOLALICAI_REPAYMENT_FAIL("letter.kaolalicai.repayment.fail", "考拉理财还款失败短信通知"),
        TEMP_KAOLALICAI_BAD_DEBT_SECOND_REPAYMENT_FAIL("letter.kaolalicai.bad.debt.second.repayment.fail", "考拉理财还款-严重逾期第二次还款失败短信通知"),
        BATCH_INVEST_SUCCEED_ENABLE_AUTO("letter.batch-invest.succeed.enable-auto", "批量投资成功-开启自动投资"),
        BATCH_INVEST_SUCCEED_DISABLE_AUTO("letter.batch-invest.succeed.disable-auto", "批量投资成功-未开启自动投资"),
        BATCH_INVEST_FAILED_ENABLE_AUTO("letter.batch-invest.failed.enable-auto", "批量投资失败-开启自动投资"),
        BATCH_INVEST_FAILED_DISABLE_AUTO("letter.batch-invest.failed.disable-auto", "批量投资失败-未开启自动投资"),
        SPEED_OPERATOR_AUTH_FAIL("letter.speedloan.operator.auth.fail", "通话记录授权失败"),
        USER_CANCEL_LOAN_PROJECT("user.cancel.loan.project", "用户在借款退回、借款审核通过待确认时取消借款标的"),
        INVEST_SUCCEED("letter.invest.succeed", "投资成功通知"),
        INVEST_PROJECT_BORROW_TIME_OUT_FAILED("letter.invest.failed.borrow-timeout", "投资标的流标(筹款超时)"),
        PROJECT_FLOW_MISCARRY_MANUAL_FAILED("letter.project.flow.miscarryManualFailed", "借款标审核不通过"),
        PROJECT_FLOW_MISCARRY_CANCER_BORROWER("letter.project.flow.miscarryCancerBorrower", "用户在借款退回、借款审核通过待确认时取消借款标的"),
        PROJECT_FLOW_MISCARRY_LOAN_FAKE_FAILED("letter.project.flow.miscarryLoanFakeFailed", "大数据审核不通过"),
        PROJECT_FLOW_MISCARRY_AUTO_FAILED("letter.project.flow.miscarryAutoFailed", "极速借被自动审核模型拒绝，导致流标"),
        PROJECT_FLOW_MISCARRY_INVEST_OVERTIME("letter.project.flow.miscarryInvestOvertime", "借款通过审核后，超过7天投资期限未满标流标"),
        PROJECT_FLOW_MISCARRY_INVEST_OVERTIME_2("letter.project.flow.miscarryInvestOvertime2", "超过期限，投资未满，项目流标，金额退回给投资人"),
        PROJECT_FLOW_MISCARRY_CANCER_MANAGER("letter.project.flow.miscarryCancerManager", "借款通过审核进入投资阶段，审核人员手动/批量流标"),
        PROJECT_FLOW_MISCARRY_CANCER_MANAGER_2("letter.project.flow.miscarryCancerManager2", "项目进入投资阶段，或投资完成，后台审核人员手动或批量流标，金额退回给投资人"),
        PROJECT_FLOW_MISCARRY_BACK_OVERTIME("letter.project.flow.miscarryBackOvertime", "标的退回，超过7天后未重新提交则流标"),

        LETTER_OPERATOR_OBTAIN_FAIL_RETURN_PROJECT("letter.operator.obtain.fail.return.project", "运营商爬取数据失败退回标的"),
        LETTER_SOCIAL_SECURITY_OBTAIN_FAIL_RETURN_PROJECT("letter.social.security.obtain.fail.return.project", "社保爬取数据失败退回标的"),
        LETTER_CREDIT_CARD_OBTAIN_FAIL_RETURN_PROJECT("letter.credit.card.obtain.fail.return.project", "信用卡爬取数据失败退回标的"),
        LETTER_TAOBAO_OBTAIN_FAIL_RETURN_PROJECT("letter.taobao.obtain.fail.return.project", "消费贷爬取数据失败退回标的"),
        LETTER_OTHER_EXCEPTION_RETURN_PROJECT("letter.other.exception.return.project", "其他异常退回标的"),

        BORROW_REPAYMENT_SUCCESS("letter.borrow.repayment.success", "还款成功"),
        BORROW_REPAYMENT_SUCCESS_COMPLETE("letter.borrow.repayment.success.complete", "还款成功【项目完结】"),
        BORROW_REPAYMENT_ADVANCE("letter.repayment.advance", "极速借提前还款成功，通知借款人"),
        BORROW_REPAYMENT_REMIND("letter.borrow.repayment.remind", "还款提醒"),
        BORROW_REPAYMENT_OVERDUE("letter.borrow.repayment.overdue", "还款逾期"),
        BORROW_REPAYMENT_SERIOUS_OVERDUE("letter.borrow.repayment.serious.overdue", "还款严重逾期"),
        BORROW_CARD_WITHHOLD_FAIL("letter.borrow.card.withhold.fail", "还款提醒-银行代扣失败"),
        BORROW_ACCOUNT_DEBIT_FAIL("letter.borrow.account.debit.fail", "还款提醒-划扣账户失败"),

        ACTIVITY_SNED_PRIZE_NOTICE("letter.activity.send.prize.notice", "活动发奖通知"),

        FEEDBACK_REAPPLY("letter.feedback.reapply.notice", "意见反馈回复通知"),

        ACTIVITY_INVITE_REG_SUCCESS_LETTER("invite.reg.success.letter", "邀请好友-被邀请人注册成功"),
        ACTIVITY_INVITE_LOANACCOUNT_SUCCESS_LETTER("invite.loanaccount.success.letter", "邀请好友-被邀请人成功开通借款存款账户"),
        ACTIVITY_INVITE_FIRST_LOAN_SUCCESS_LETTER("invite.first.loan.success.letter", "邀请好友-被邀请人首次借款成功"),
        ACTIVITY_INVITE_FIRSTRECHARGE_LOAN_SUCCESS_LETTER("invite.first.recharge.loan.success.letter", "邀请好友-被邀请人首次成功充值借款存管账户"),
        ACTIVITY_INVITE_INVESTACCOUNT_SUCCESS_LETTER("invite.investaccount.success.letter", "邀请好友-被邀请人成功开通投资存款账户"),
        ACTIVITY_INVITE_FIRSTRECHARGE_INVEST_SUCCESS_LETTER("invite.first.recharge.invest.success.letter", "邀请好友-被邀请人首次成功充值投资存管账户"),
        ACTIVITY_INVITE_INVEST_SUCCESS_LETTER("invite.invest.success.letter", "邀请好友-被邀请人投资成功"),
        EVALUATION_AUTOMATIC_INVEST_STOP("letter.evaluation.automatic.invest.stop", "自动投资停止通知"),
        EVALUATION_BATCH_INVEST_STOP("letter.evaluation.batch.invest.stop", "批量投资停止通知"),

        LETTER_USER_CONFIRM_PUSH_PROJECT("letter.user.confirm.push.project","用户确认上标"),
        
        DEBT_TRANSFEROR_APPLY_SUCCESS("letter.debt.transferor.apply.success", "债权转让申请成功通知"),
        DEBT_TRANSFEROR_TRANSFER_SUCCESS("letter.debt.transferor.transfer.success", "债权转让成功通知"),
        DEBT_TRANSFEROR_TRANSFER_FAIL_OVERTIME("letter.debt.transferor.transfer.fail.overtime", "债权转让失败通知-超时"),
        DEBT_TRANSFEROR_TRANSFER_FAIL_REPAYMENT("letter.debt.transferor.transfer.fail.repayment", "债权转让失败通知-还款"),
        DEBT_TRANSFEROR_TRANSFER_FAIL_CANCEL("letter.debt.transferor.apply.fail.cancel", "债权转让失败通知-取消"),
        DEBT_ASSIGNEE_BUY_SUCCESS("letter.debt.assignee.buy.success", "债权投资成功通知"),
        DEBT_BORROWER_NOTIFY("letter.debt.borrower.notify", "出借人变更通知"),
        INTELLIGENCE_INVEST_ORDER_SUCCESS("letter.intelligence.invest.order.success","智能投申请成功通知"),
        INTELLIGENCE_INVEST_SUCCESS("letter.intelligence.invest.success","智能投服务成功通知"),
        INTELLIGENCE_INVEST_PARTIAL_SUCCESS("letter.intelligence.invest.partial.success","智能投服务成功通知"),
        INTELLIGENCE_INVEST_FAILURE("letter.intelligence.invest.failure","智能投服务失败通知"),
        
        
        // 5.6.0 个性化通知
        PERSONALIZED_NOTIFY_REGISTER_SUCCESS("letter.personalized.register.success", "注册成功"),
        PERSONALIZED_NOTIFY_UNOPEN_INVEST_ACCOUNT("letter.personalized.unopen.invest.account", "未开通投资存管帐户"),
    	PERSONALIZED_NOTIFY_OPEN_INVEST_ACCOUNT_SUCCESS("letter.personalized.open.invest.account.success", "已开通投资存管帐户"),
        PERSONALIZED_NOTIFY_NO_INVEST("letter.personalized.no.invest", "开通投资存管帐户未投资"),
        PERSONALIZED_NOTIFY_UNUSED_PRIZE("letter.personalized.unused.prize", "红包未使用用户"),
        ;

        private String key;
        private String desc;
    }

    @Getter
    @AllArgsConstructor
    public enum JPushTemplateKeyEnum {
        SPEED_LOAN_CREDIT_RESULT("jpush.speedloan.credit.result", "极速借授信结果"),
        SPEED_LOAN_CREDIT_INADEQUATE("jpush.speedloan.credit.inadequate", "极速借授信额度不足"),
        SPEED_LOAN_CREDIT_INCREASE("jpush.speedloan.credit.increase", "提高额度通知"),
        SPEED_LOAN_ENTER_INVEST("jpush.speedloan.enter.invest", "借款进入投资阶段"),
        SPEED_LOAN_MANUAL_NOTPASS("jpush.speedloan.manual.notpass", "极速借手动审核不通过"),
        SPEED_LOAN_MANUAL_BACK("jpush.speedloan.manual.back", "极速借手动审核退回"),
        TEMP_KAOLALICAI_REPAYMENT_FAIL("jpush.kaolalicai.repayment.fail", "考拉理财还款失败短信通知"),
        SPEED_OPERATOR_AUTH_FAIL("jpush.speedloan.operator.auth.fail", "通话记录授权失败"),
        INVEST_PROJECT_BORROW_TIME_OUT_FAILED("jpush.invest.failed.borrow-timeout", "投资标的流标(筹款超时)"),
        PROJECT_FLOW_MISCARRY_MANUAL_FAILED("jpush.project.flow.miscarryManualFailed", "借款标审核不通过"),
        PROJECT_FLOW_MISCARRY_LOAN_FAKE_FAILED("jpush.project.flow.miscarryLoanFakeFailed", "大数据审核不通过"),
        PROJECT_FLOW_MISCARRY_AUTO_FAILED("jpush.project.flow.miscarryAutoFailed", "极速借被自动审核模型拒绝，导致流标"),
        PROJECT_FLOW_MISCARRY_INVEST_OVERTIME("jpush.project.flow.miscarryInvestOvertime", "借款通过审核后，超过7天投资期限未满标流标"),
        PROJECT_FLOW_MISCARRY_INVEST_OVERTIME_2("jpush.project.flow.miscarryInvestOvertime2", "超过期限，投资未满，项目流标，金额退回给投资人"),
        PROJECT_FLOW_MISCARRY_CANCER_MANAGER("jpush.project.flow.miscarryCancerManager", "借款通过审核进入投资阶段，审核人员手动/批量流标"),
        PROJECT_FLOW_MISCARRY_CANCER_MANAGER_2("jpush.project.flow.miscarryCancerManager2", "项目进入投资阶段，或投资完成，后台审核人员手动或批量流标，金额退回给投资人"),
        PROJECT_FLOW_MISCARRY_BACK_OVERTIME("jpush.project.flow.miscarryBackOvertime", "标的退回，超过7天后未重新提交则流标"),
        
        BORRO_SUCCESS("jpush.borrow.success", "借款成功"),
        BORROW_SUCCESS_AUTO_WITHDRAW("jpush.borrow.success.auto.withdraw", "借款成功自动提现"),
        BORROW_SUCCESS_AUTO_WITHDRAW_FAIL("jpush.borrow.success.auto.withdraw.fail", "借款成功自动提现失败"),

        PROJECT_PACKAGE_OVERDEPT_RECEIVE("jpush.project.package.overdept.receive","智能投服务提前回款通知"),
        PROJECT_PACKAGE_RECEIVE("jpush.project.package.receive","智能投服务回款通知"),
        PROJECT_PACKAGE_FINISH_RECEIVE("jpush.project.package.finish.receive","智能投服务结清通知"),

        BORROW_BORROW_SUCCESS_EVIDENCE_UPLOAD("jpush.borrow.success.evidence.upload","借款成功凭证上传"),

        JPUSH_OPERATOR_OBTAIN_FAIL_RETURN_PROJECT("jpush.operator.obtain.fail.return.project", "运营商爬取数据失败退回标的"),
        JPUSH_SOCIAL_SECURITY_OBTAIN_FAIL_RETURN_PROJECT("jpush.social.security.obtain.fail.return.project", "社保爬取数据失败退回标的"),
        JPUSH_CREDIT_CARD_OBTAIN_FAIL_RETURN_PROJECT("jpush.credit.card.obtain.fail.return.project", "信用卡爬取数据失败退回标的"),
        JPUSH_TAOBAO_OBTAIN_FAIL_RETURN_PROJECT("jpush.taobao.obtain.fail.return.project", "淘宝爬取数据失败退回标的"),
        JPUSH_OTHER_EXCEPTION_RETURN_PROJECT("jpush.other.exception.return.project", "其他异常退回标的"),

        BORROW_REPAYMENT_SUCCESS("jpush.borrow.repayment.success", "还款成功"),
        BORROW_REPAYMENT_SUCCESS_COMPLETE("jpush.borrow.repayment.success.complete", "还款成功【项目完结】"),
        BORROW_REPAYMENT_ADVANCE("jpush.repayment.advance", "极速借提前还款成功，通知借款人"),
        BORROW_REPAYMENT_REMIND("jpush.borrow.repayment.remind", "还款提醒"),
        BORROW_REPAYMENT_OVERDUE("jpush.borrow.repayment.overdue", "还款逾期"),
        BORROW_REPAYMENT_SERIOUS_OVERDUE("jpush.borrow.repayment.serious.overdue", "还款严重逾期"),
        BORROW_CARD_WITHHOLD_FAIL("jpush.borrow.card.withhold.fail", "还款提醒-银行代扣失败"),
        BORROW_ACCOUNT_DEBIT_FAIL("jpush.borrow.account.debit.fail", "还款提醒-划扣账户失败"),

        INVEST_RECEIVE("jpush.invest.receive", "投资回款通知"),
        OVER_RECEIVE_ADVANCE("jpush.over.invest.receive", "投资回款通知"),
        NORMAL_RECEIVE_ADVANCE("jpush.normal.receive.advance", "投资回款通知"),
        INVEST_RECEIVE_ADVANCE("jpush.invest.receive.advance", "提前回款通知(提前结清)"),
        
        DEBT_TRANSFEROR_APPLY_SUCCESS("jpush.debt.transferor.apply.success", "债权转让申请成功通知"),
        DEBT_TRANSFEROR_TRANSFER_SUCCESS("jpush.debt.transferor.transfer.success", "债权转让成功通知"),
        DEBT_TRANSFEROR_TRANSFER_FAIL_OVERTIME("jpush.debt.transferor.transfer.fail.overtime", "债权转让失败通知-超时"),
        DEBT_TRANSFEROR_TRANSFER_FAIL_REPAYMENT("jpush.debt.transferor.transfer.fail.repayment", "债权转让失败通知-还款"),
        DEBT_TRANSFEROR_TRANSFER_FAIL_CANCEL("jpush.debt.transferor.apply.fail.cancel", "债权转让失败通知-取消"),
        DEBT_ASSIGNEE_BUY_SUCCESS("jpush.debt.assignee.buy.success", "债权投资成功通知"),
        DEBT_BORROWER_NOTIFY("jpush.debt.borrower.notify", "出借人变更通知"),
        INTELLIGENCE_INVEST_ORDER_SUCCESS("jpush.intelligence.invest.order.success","智能投申请成功通知"),
        INTELLIGENCE_INVEST_SUCCESS("jpush.intelligence.invest.success","智能投服务成功通知"),
        INTELLIGENCE_INVEST_PARTIAL_SUCCESS("jpush.intelligence.invest.partial.success","智能投服务成功通知"),
        INTELLIGENCE_INVEST_FAILURE("jpush.intelligence.invest.failure","智能投服务失败通知"),
        
        // 5.6.0 个性化通知
        PERSONALIZED_NOTIFY_REGISTER_SUCCESS("jpush.personalized.register.success", "注册成功"),
        PERSONALIZED_NOTIFY_UNOPEN_INVEST_ACCOUNT("jpush.personalized.unopen.invest.account", "未开通投资存管帐户"),
    	PERSONALIZED_NOTIFY_OPEN_INVEST_ACCOUNT_SUCCESS("jpush.personalized.open.invest.account.success", "已开通投资存管帐户"),
        PERSONALIZED_NOTIFY_NO_INVEST("jpush.personalized.no.invest", "开通投资存管帐户未投资"),
        PERSONALIZED_NOTIFY_UNUSED_PRIZE("jpush.personalized.unused.prize", "红包未使用用户"),
        ;

        private String key;
        private String desc;
    }
}
